// routers 中 users 路由表对应的 函数  
//get 请求的内容在 req.query中 

// post请求放在 req.body中 
// 需要设置解析请求体  
//  body-parser  不用安装 
// 直接导入 
// const body = require('body-parser');

// 然后再使用路由前声明解析请求体 
// server.use(body({ extended: false })) 告诉服务帮我解析查询字符串 
// server.use(body.json()); 告诉服务帮我解析 json 

// 官方说 可能要取消 body-parser 
const {usernameReg,passwordReg,nicknameReg} = require('../config')
const users= [
    {id:1,username:'yuhe',password:'123456',nickname:'明湖一品'},
    {id:2,username:'fuxiang',password:'123456',nickname:'寿比南山'}

]
let count=2;
function loginHandler(req,res){
    // console.log(req.body);
    // res.send({message:'登录成功'})
    // console.log(888)
    // console.log(req);
    // console.log(req.body); 是个对象 

    const {username,password} = req.body;
    // console.log(username,password);


    //如果用户没填写用户名或者密码 报错 
    if(!username || !password){
        res.send({
            code:0,
            message:'用户名或者密码必须填写'
        })
        return
    }

    // 数据库中进行对比 
    const info = users.find(item=>item.username===username && item.password===password)
    if(!info){
        // 用户名或者密码不正确
        res.send({
            code:0,
            message:'用户名或者密码错误'
           
        })
        return
    }

    res.send({
        code:1,
        message:'登录成功',
        id:info.id,
        token:'adsfasdfasdfsadfsadfasdfasdfsdf',

    })


}


function registerHandler(req,res){
    // res.send({message:'注册成功'})
    // console.log(req.body);
    const {username,password,rpassword,nickname} = req.body;
    console.log(username,password,rpassword,nickname);

    if(!username || !password || !rpassword || !nickname){
        res.send({
            code:0,
            message:'参数不够,必须全写'
        })
        return
    }

    if(password !== rpassword){
        res.send({
            code:0,
            message:'两次密码不一致'
        })
        return
    }


    if(!usernameReg.test(username) ||!passwordReg.test(password) ||!nicknameReg.test(nickname) ){
        res.send({
            code:0,
            message:'参数格式有问题'
        })
        return
    }


    // 判断用户名是否已经存在 
    const flag = users.find(item=>item.username == username)
    if(flag){
        res.send({
            code:0,
            message:'用户名已经存在'
        })
        return
    }


    users.push({
        id:++count,
        username,
        password,
        nickname
    })

    console.log(users);

    res.send({
        code:1,
        message:'注册成功'
    })

}


module.exports = {
    loginHandler,
    registerHandler
}